import {IReward, IUserInfo } from "../../Config/CommonProto";

//大厅通用消息请求结构
export interface IMsgReq {
    userId: string,
    type?: number,
}

export interface IRewards {
    rewards:IReward[]
}

//大厅返回 9002
export interface IHallRes {
    isNewPlayer: number,
    userInfo:IUserInfo,
    gameNet:{
        ip:string,
        port: number,
    }
}

//获取用户信息
export interface IGetUserInfoReq{
    userId: string,
}
export interface  IUInfo {
    //用户id
    userId:string,
    //用户名
    name:string,
    //头像
    avator:string,
    //球币数量
    ballNum:number,
    //抽奖券
    ticket:number;
    //排名
    ranks:number,
    //分数，主题赛和好有pk使用到
    score:number,
}
export interface IDWItem {//段位信息
    //具体段位类型
    dwType:number,
    //文体段位等级
    dwLv:number,
    //文体段位勋章数量
    dwXzNum:number,
//文体全国排名 0 是未上榜
    dwRank:number,
}
export interface IThemeGame { //主题赛游戏数据
    //文体
    dwWTInfo:IDWItem,
    //足球
    dwZqInfo:IDWItem,
    //民族
    dwMzInfo:IDWItem,
    //挑战场次
     countTz:number,
    //挑战胜场
     countTzWin:number,
    //知识三维图 [足球、名族、 文体] ，每个值是 1 到 5
    ranks:number[]
}
export interface IChallengeGame {//挑战赛游戏数据
    //休闲挑战
    challengeXX:number,
    //大神挑战
    challengeDS:number,
    //全国排名
    rankTz:number,
}
export interface IGetUserInfoRes{
    userInfo: IUInfo;
    themeGame: IThemeGame;
    challengeGame: IChallengeGame;
}
//end

//幸运抽奖配置
export interface ICJItem{
    idx: number,
    rewardType:number,
    rewardNum:number,
}
export interface IChouJiangCfgReq {

}
export interface IChouJiangCfgRes {
    rewards:ICJItem[], //具体的奖励数据
    //单次抽奖消耗球币数
    price:number,
    //单抽次数
    optNum1: number,
    //5连抽
    optNum5: number
}
//end

//幸运抽奖操作
export interface IChouJiangOptReq {
    userId:string,
    count:number, //单次操作抽奖几次， count = 1表示单抽， count == 5 表示 5连抽
    isFree: number //是否是看广告操作的，看广告操作免费
}
export interface IChouJiangOptRes {
    code:number,
    idxs:number[]
}
//end


//===============================================大厅--主题赛--start==========================================
//主题赛配置返回 9110
export interface IThemeMatchResInfo {
    name:string, //名字
    avator:string,   //头像
    dwLv:number,//文体段位等级
    dwXzNum:number, //文体段位勋章数量
}
export interface IThemeMatchItem {
    type:number, //主题赛类型 DWTYPE   DW_WENTI = 1-->文体 DW_ZUQIU = 2-->足球    DW_MINGZU = 3-->民族
    people:number,//当前挑战人数 默认加1 ，实际没有人传1，规避int32 等于0 proto编译会干掉
    dwType:number, //段位类型 DWLVTYPE 1 2 3 4 5 6 7
    dwLv:number, //文体段位等级，默认1 级
    dwXzNum :number,//文体段位勋章数量，默认加1
    list:IThemeMatchResInfo[];   //这个数据排好序发过来
}
export interface IThemeMatchRes {
    list:IThemeMatchItem[]
}


//主题赛开始匹配返回 9111
export interface IThemeMatchPPRes{
    // 1成功
    code: number; 
}

//主题赛停止匹配返回 9112
export interface IThemeMatchStopPPRes{
    // 1成功
    code: number; 
}

//主题赛匹配到了的广播 9113
export interface IThemeMatchPPBroad{
    gameNet:{
        ip:string,
        port:number
    }
}

//===============================================大厅--主题赛--end==========================================

//===============================================大厅--每日挑战赛--start==========================================
// 每日挑战配置
export interface IDailyChallengeCfgReq{
    userId: string,
}
export interface IDailyChallengeCfgRes{
    code : number, // 0成功 1失败
    //今日剩余挑战次数
    count:  number,
    //剩余抽奖券
    ticket : number,
    //休闲挑战消耗
    costXX : number,
    //大神挑战消耗
    costDS : number,
    //当日看视频获取获取挑战次数是否使用完毕 1 是正常， 2 表示次数已经使用完毕
    status : number ,
}
// end

//每日挑战 --选择
export interface IDailyChallengeReq{
    dcType: number,
    userId:string
}
export interface IRewardCgTz{
    topicNum: number,
    rewardType:number,
    rewardNum:number
}
export interface IZtChange{
    topicTotal:number,
    listReward:IRewardCgTz[]
}
export interface IDailyChallengeRes{
    dcType: number,
    topicTotal: number,
    listReward:IZtChange[],
}
// end 

// 开始游戏
export interface IDcStartReq{

}
export interface IDcStartRes{
    code: number, //1 成功
}
// end 


export interface IDcAddCountReq{
   
}
export interface IDcAddCountRes{
    code: number, //1 成功
    count: number,
    status:number,//1 是正常， 2 表示次数已经使用完毕
}



export interface IGamePlayTzReq{
    dcType: number,
    userId:string
}
//===============================================大厅--每日挑战赛--end==========================================

